package entities;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import javax.persistence.*;

import dto.ProveedorDTO;

@Entity
@Table(name="Servicios")
public class Servicio implements Serializable {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Id @Column
	private Integer idServicio;
	
	@Column(nullable=false)
	private boolean activo;
	
	@Column(nullable=false)
	private String descripcion;
	
	@Column(nullable=false)
	private String nombre;
	
	@ManyToMany(fetch = FetchType.EAGER,cascade = {CascadeType.ALL})
	@JoinTable(name="ProServ",joinColumns={@JoinColumn(name="idServicio")},
			inverseJoinColumns={@JoinColumn(name="cuit")})
	private List<Proveedor> proveedores;

	public Integer getIdServicio() {
		return idServicio;
	}

	public void setIdServicio(Integer idServicio) {
		this.idServicio = idServicio;
	}

	public boolean isActivo() {
		return activo;
	}

	public void setActivo(boolean activo) {
		this.activo = activo;
	}

	public String getDescripcion() {
		return descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public List<Proveedor> getProveedores() {
		if(this.proveedores == null) this.proveedores = new ArrayList<Proveedor>();
		return proveedores;
	}

	public void setProveedores(List<Proveedor> proveedores) {
		this.proveedores = proveedores;
	}

	public void setIdServicio(int idServicio) {
		this.idServicio = idServicio;
	}

	public void addProveedor(Proveedor proveedor) {
		if(this.proveedores == null) this.proveedores = new ArrayList<Proveedor>();
		if (proveedor!=null) this.proveedores.add(proveedor);
		
	}

	

	

}